package server.database;

import java.util.List;
import java.util.Map;

import server.database.query.IQueryResult;

public interface IDatabaseTable
{
	public static final String ID = "id";

	String getTableName();

	void initTable() throws Exception;

	List<DatabaseColumn> getColumns();

	List<DatabaseColumn> getPrimaryKey();

	IQueryResult deleteID(String sID);

	IQueryResult insert(Map<DatabaseColumn, String> mpValues);

	IQueryResult getAllEntities(List<DatabaseColumn> lstWhereFields, List<String> lstWhereValues, String sWhereDelimiter);
	IQueryResult getAllEntities(String sWhereString);

	IQueryResult update(String sID, Map<DatabaseColumn, String> mpValues);
}
